package io.github.junxworks.qt.modules.mm.service;

import java.util.List;

import com.github.pagehelper.PageInfo;

import io.github.junxworks.qt.modules.mm.dto.FieldDto;
import io.github.junxworks.qt.modules.mm.vo.FieldVo;

/**
 * {类的详细说明}.
 *
 * @ClassName:  FieldService
 * @author: 王兴
 * @date:   2019-11-21 14:05:54
 * @since:  v1.0
 */
public interface FieldService {

	/**
	 * 查询字段列表
	 *
	 * @param dto the dto
	 * @return the page info
	 */
	PageInfo<FieldVo> queryFieldList(FieldDto dto);

	/**
	 * 新增字段
	 *
	 * @param dto the dto
	 * @return the int
	 */
	int addField(FieldDto dto);

	/**
	 * 编辑字段，编辑后将原字段修改成历史
	 * 新增相同字段编号的字段
	 *
	 * @param dto the dto
	 * @return the int
	 */
	int eidtAndBackupField(FieldDto dto);

	/**
	 * 根据ID查询字段明细
	 *
	 * @param id the id
	 * @return the field vo
	 */
	FieldVo queryFieldDetailById(Long id);

	/**
	 * 根据字段id数组查询字段
	 *
	 * @param ids the ids
	 * @return the list
	 */
	List<FieldVo> queryFieldDetailByIds(Long[] ids);

	/**
	 * 删除字段
	 *
	 * @param id the id
	 * @return the int
	 */
	int deleteField(Long id);

	FieldVo queryFieldDetailByCName(String cName);
}
